//定义全局路由: 页面组件之间的跳转逻辑关系
import {createRouter, createWebHistory} from 'vue-router'
//需要路由的页面组件,都需要导入,再定义路由关系
import Login from '@/views/login/Login.vue'
import adminRouter from "@/router/modules/admin";
import userRouter from "@/router/modules/user"
//定义路由组件
const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: [
    {
      path: '/',
      redirect: '/login'
    },
    {//所有的组件要跳转，必须先命名路由
      path: '/login', //访问的url
      name: 'login',
      component: Login //页面组件名称
    },
    adminRouter, userRouter
  ]
})
//全局路由守护，必须登录后，才能访问vue中的页面组件
router.beforeEach(async (to, from) => {
  let userInfo = sessionStorage.getItem('userInfo');
// 检查用户是否已登录 ，并且要访问的url不等于/login 避免无限重定向
  if (!userInfo && to.path !== '/login') {
// 重定向到登录页面
    return {path: '/login'}
  }
})
export default router
